1. Field of the Invention
The present invention relates generally to hard disk drives, and more particularly, to the optimization of hard disk drive performance.
2. Description of Background Information
Hard disk drives store information as magnetization patterns on magnetic media and are common components in today""s personal computers. Typically, hard disk drives are the primary non-volatile storage location for both user data and software program data.
FIG. 1 is a diagram illustrating a conventional host computer system and its hard drive. Host computer system 12 includes fast access solid state memory 16, computer system bus 20, and CPU 18. Memory 16 is a solid-state semiconductor memory such as a dynamic random access memory (DRAM) that stores the data being manipulated by CPU 18. For example, memory 16 may store application code 22, operating system code 24, or user data 25. CPU 18 and memory 16 communicate with one another over bus 20.
Host computer 12 may read or write data from/to DRAM 16 to disk drive 10. Head or write commands from host computer 12 are received and interpreted by controller 26. Controller 26 controls spindle and actuator drivers 28 to read or write data to one or more magnetic platters in hard disk array (HDA) 30.
Conventionally, hard disk drive 10 hides certain of its internal characteristics from the host 12. For example, the physical layout of the disk""s data tracks and the locations of defective data sectors are not known, and do not need to be known, by host 12. Instead, host 12, when reading or writing data with hard disk drive 10, simply specifies an address for the data (called a logical block address), and controller 26 of disk drive 10 converts the logical address to a physical specification on the hard drive, such as the appropriate platter, track, and sector of the hard disk array 30. Thus, host 12 may access the hard disk drive without having to concern itself with the internal characteristics of the hard disk drive. This can be beneficial as it allows hard disk drives to have different internal implementation as long as they present the correct interface to the host computer.
In certain situations, however, host computer 12, by knowing the internal state of disk drive 10, may be able to optimize commands to the disk drive. For example, if the host computer 12 knows how long it should take to execute each of a series of commands, the host computer may decide to first execute the one that will execute the fastest.
Additionally, if host computer 12 knows where the read heads of disk drive 10 will land when they are moved to the desired data track, the host computer may implement command reordering to reorganize a series of read commands so that they more efficiently coincide with the position of the read heads. In the absence of command reordering techniques, hard disk drive 10 executes commands in the order in which it receives them. The result is that the disk drive heads tend to randomly and inefficiently sweep over the surface of the hard disk platters. Command reordering techniques attempt to reorder the sequence of drive commands to minimize the random movement of the read/write head.
One way to implement techniques such as command reordering at the host computer level is to model physical parameters of the hard disk drive in the host computer and to optimize data requests to the hard drive based on the modeled physical parameters. Such a technique is discussed in U.S. Pat. No. 6,490,651, filed Mar. 14, 2000, and issued Dec. 3, 2002. This contents of this patent are hereby incorporated by reference.
In order to model the physical parameters of a hard disk drive, however, information about the basic physical characteristics of the hard drive, such as an accurate physical layout of the tracks and sectors on the drive, must first be gathered by the model. One way to gather such information is to have a skilled technician manually examine each disk drive. This method of gathering information, however, is labor intensive and is not suited for the general distribution of a generic disk drive model intended to model any disk drive.
Accordingly, there is a need in the art to be able to more efficiently gather information relating to the physical characteristics of a hard drive.